package designPatterns_demo.singleton_pattern.demo2;
/**
 * 
 *
 * Description: 4、懒汉式(线程安全，同步方法)[不推荐用]
 *
 * 解决上面第三种实现方式的线程不安全问题，做个线程同步就可以了，于是就对getInstance()方法进行了线程同步。
           缺点：效率太低了，每个线程在想获得类的实例时候，执行getInstance()方法都要进行同步。
           而其实这个方法只执行一次实例化代码就够了，后面的想获得该类实例，直接return就行了。方法进行同步效率太低要改进。
 *
 * @author zhangxujun
 * @version 1.0
 * <pre>
 * Modification History: 
 * Date         Author			Version     Description 
 * ------------------------------------------------------------------ 
 * 2017年6月29日      zhangxujun       1.0         1.0 Version 
 * </pre>
 */
public class SingletonDemo4 {
	private static SingletonDemo4 instance;
	
	private SingletonDemo4() {}
	
	public static synchronized SingletonDemo4 getInstance() {
		if (null == instance) {
			instance = new SingletonDemo4();
		}
		return instance;
	}
}
